library(tidyverse)
methods.color <- setNames(c(scales::hue_pal()(6), "black"),
c("logit-simple", "PRS-max", "PRS-stringent",
"T-Trees", "logit-triple", "PRS-all", "biglasso"))
pAUC <- function(pred, target, p = 0.1) {
val.min <- min(target)
q <- quantile(pred[target == val.min], probs = 1 - p)
ind <- (target != val.min) | (pred > q)
tryCatch(bigstatsr::AUC(pred[ind], target[ind]) * p,
error = function(e) p^2 / 2) # all same prediction
}
format_results <- function(results) {
results %>%
as_tibble() %>%
mutate(
par.causal = factor(map_chr(par.causal, ~paste(.x[1], .x[2], sep = " in ")),
levels = c("30 in HLA", paste(3 * 10^(1:3), "in all"))),
AUC = map_dbl(eval, ~ bigstatsr::AUC(.x[, 1], .x[, 2])),
pAUC = map_dbl(eval, ~ pAUC(.x[, 1], .x[, 2]))
)
}
boot <- function(x, n = 1e5, f = mean) {
sd(replicate(n, f(sample(x, replace = TRUE))))
}
myggplot <- function(..., coeff = 1) {
bigstatsr:::MY_THEME(ggplot(...), coeff = coeff) +
theme(strip.text.x = element_text(size = rel(2)),
strip.text.y = element_text(size = rel(2)))
}
barplot_causal <- function(results, h2) {
results %>%
myggplot(aes(par.causal, AUC_mean, fill = method, color = method)) +
geom_hline(yintercept = 0.5, linetype = 2) +
geom_col(position = position_dodge(), alpha = 0.3) +
geom_errorbar(aes(ymin = AUC_mean - 2 * AUC_boot, ymax = AUC_mean + 2 * AUC_boot),
position = position_dodge(width = 0.9), color = "black", width = 0.2) +
scale_y_continuous(limits = c(0.5, NA), minor_breaks = 0:20 / 20,
oob = scales::rescale_none) +
labs(x = "Causal SNPs (number and location)", y = "Mean of 100 AUCs",
fill = "Method", color = "Method") +
scale_fill_manual(values = methods.color) +
scale_color_manual(values = methods.color)
}
barplot_causal_one <- function(results, h2) {
auc_max <- `if`(h2 == 0.8, 0.94, 0.84)
results %>%
filter(par.h2 == h2) %>%
barplot_causal() +
geom_hline(yintercept = auc_max, linetype = 3, color = "blue") +
facet_grid(par.dist ~ .)
}
barplot_causal_all <- function(results) {
results %>%
barplot_causal() +
geom_hline(aes(yintercept = auc_max), linetype = 3, color = "blue",
data = data.frame(par.h2 = c(0.5, 0.8), auc_max = c(0.84, 0.94))) +
facet_grid(par.dist ~ par.h2)
}
compare_logit <- function(results, with_method) {
results <- filter(
results, method %in% c("logit-simple", with_method), par.h2 == 0.8)
results.summary <- results %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
nsimu <- results.summary$N[[1]]
# stopifnot(all(results.summary$N == nsimu))
plot_extra <- function(y, ylab = y) {
results %>%
myggplot() +
geom_boxplot(aes_string("par.causal", y, color = "method",
fill = "method"), alpha = 0.3) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
facet_grid(par.model ~ par.dist) +
labs(x = "Causal SNPs (number and location)", y = ylab,
fill = "Method", color = "Method") +
theme(legend.position = "none") +
scale_fill_manual(values = methods.color) +
scale_color_manual(values = methods.color) +
scale_y_continuous(limits = c(0, NA))
}
p1 <- results.summary %>%
barplot_causal_one(h2 = 0.8) +
facet_grid(par.model ~ par.dist) +
labs(y = sprintf("Mean of %d AUCs", nsimu))
p2 <- cowplot::plot_grid(
plot_extra("nb.preds", "Number of predictors"),
plot_extra("timing", "Execution time (in seconds)"),
ncol = 1, align = "hv", scale = 0.95,
labels = LETTERS[2:3], label_size = 20
)
p12 <- cowplot::plot_grid(
p1 + theme(legend.position = "none"), p2,
ncol = 2, scale = 0.95, rel_widths = c(6, 4),
labels = c("A", ""), label_size = 20
)
cowplot::plot_grid(
cowplot::get_legend(p1 + theme(legend.direction = "horizontal")), p12,
rel_heights = c(0.1, 1), ncol = 1
)
}
results1 <- list.files("results1", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
compare_logit(results1, with_method = "T-Trees")
## # A tibble: 32 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fct> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.800 fancy logit-simple 0.856 0.00827 5
## 2 30 in HLA gaussian 0.800 fancy T-Trees 0.818 0.0109 5
## 3 30 in HLA gaussian 0.800 simple logit-simple 0.930 0.00289 5
## 4 30 in HLA gaussian 0.800 simple T-Trees 0.834 0.00912 5
## 5 30 in HLA laplace 0.800 fancy logit-simple 0.875 0.0133 5
## 6 30 in HLA laplace 0.800 fancy T-Trees 0.844 0.0114 5
## 7 30 in HLA laplace 0.800 simple logit-simple 0.924 0.00489 5
## 8 30 in HLA laplace 0.800 simple T-Trees 0.844 0.00788 5
## 9 30 in all gaussian 0.800 fancy logit-simple 0.877 0.0113 5
## 10 30 in all gaussian 0.800 fancy T-Trees 0.841 0.00846 5
## 11 30 in all gaussian 0.800 simple logit-simple 0.933 0.00280 5
## 12 30 in all gaussian 0.800 simple T-Trees 0.823 0.00536 5
## 13 30 in all laplace 0.800 fancy logit-simple 0.887 0.00344 5
## 14 30 in all laplace 0.800 fancy T-Trees 0.848 0.00708 5
## 15 30 in all laplace 0.800 simple logit-simple 0.938 0.00279 5
## 16 30 in all laplace 0.800 simple T-Trees 0.843 0.0188 5
## 17 300 in all gaussian 0.800 fancy logit-simple 0.781 0.00819 5
## 18 300 in all gaussian 0.800 fancy T-Trees 0.604 0.00598 5
## 19 300 in all gaussian 0.800 simple logit-simple 0.853 0.00289 5
## 20 300 in all gaussian 0.800 simple T-Trees 0.572 0.00559 5
## 21 300 in all laplace 0.800 fancy logit-simple 0.814 0.00775 5
## 22 300 in all laplace 0.800 fancy T-Trees 0.683 0.0103 5
## 23 300 in all laplace 0.800 simple logit-simple 0.867 0.00634 5
## 24 300 in all laplace 0.800 simple T-Trees 0.659 0.0251 5
## 25 3000 in all gaussian 0.800 fancy logit-simple 0.545 0.00848 5
## 26 3000 in all gaussian 0.800 fancy T-Trees 0.509 0.00375 5
## 27 3000 in all gaussian 0.800 simple logit-simple 0.582 0.0103 5
## 28 3000 in all gaussian 0.800 simple T-Trees 0.495 0.00802 5
## 29 3000 in all laplace 0.800 fancy logit-simple 0.616 0.00852 5
## 30 3000 in all laplace 0.800 fancy T-Trees 0.524 0.00681 5
## 31 3000 in all laplace 0.800 simple logit-simple 0.653 0.00945 5
## 32 3000 in all laplace 0.800 simple T-Trees 0.517 0.00557 5
ggsave("figures/supp-ttrees.pdf", scale = 1/100, width = 1400, height = 1060)
results2 <- list.files("results2", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
results2.summary <- results2 %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 160 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fct> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.500 fancy logit-simple 0.775 0.00299 100
## 2 30 in HLA gaussian 0.500 fancy logit-triple 0.802 0.00229 100
## 3 30 in HLA gaussian 0.500 fancy PRS-all 0.597 0.00395 100
## 4 30 in HLA gaussian 0.500 fancy PRS-max 0.732 0.00295 100
## 5 30 in HLA gaussian 0.500 fancy PRS-stringent 0.718 0.00309 100
## 6 30 in HLA gaussian 0.500 simple logit-simple 0.818 0.00157 100
## 7 30 in HLA gaussian 0.500 simple logit-triple 0.817 0.00157 100
## 8 30 in HLA gaussian 0.500 simple PRS-all 0.618 0.00369 100
## 9 30 in HLA gaussian 0.500 simple PRS-max 0.760 0.00204 100
## 10 30 in HLA gaussian 0.500 simple PRS-stringent 0.747 0.00218 100
## 11 30 in HLA gaussian 0.800 fancy logit-simple 0.873 0.00242 100
## 12 30 in HLA gaussian 0.800 fancy logit-triple 0.911 0.00129 100
## 13 30 in HLA gaussian 0.800 fancy PRS-all 0.657 0.00475 100
## 14 30 in HLA gaussian 0.800 fancy PRS-max 0.799 0.00304 100
## 15 30 in HLA gaussian 0.800 fancy PRS-stringent 0.782 0.00315 100
## 16 30 in HLA gaussian 0.800 simple logit-simple 0.923 0.00101 100
## 17 30 in HLA gaussian 0.800 simple logit-triple 0.922 0.00103 100
## 18 30 in HLA gaussian 0.800 simple PRS-all 0.686 0.00398 100
## 19 30 in HLA gaussian 0.800 simple PRS-max 0.836 0.00218 100
## 20 30 in HLA gaussian 0.800 simple PRS-stringent 0.819 0.00227 100
## 21 30 in HLA laplace 0.500 fancy logit-simple 0.775 0.00341 100
## 22 30 in HLA laplace 0.500 fancy logit-triple 0.804 0.00253 100
## 23 30 in HLA laplace 0.500 fancy PRS-all 0.599 0.00316 100
## 24 30 in HLA laplace 0.500 fancy PRS-max 0.737 0.00356 100
## 25 30 in HLA laplace 0.500 fancy PRS-stringent 0.719 0.00326 100
## 26 30 in HLA laplace 0.500 simple logit-simple 0.824 0.00151 100
## 27 30 in HLA laplace 0.500 simple logit-triple 0.823 0.00161 100
## 28 30 in HLA laplace 0.500 simple PRS-all 0.625 0.00354 100
## 29 30 in HLA laplace 0.500 simple PRS-max 0.769 0.00213 100
## 30 30 in HLA laplace 0.500 simple PRS-stringent 0.751 0.00205 100
## 31 30 in HLA laplace 0.800 fancy logit-simple 0.876 0.00275 100
## 32 30 in HLA laplace 0.800 fancy logit-triple 0.912 0.00169 100
## 33 30 in HLA laplace 0.800 fancy PRS-all 0.653 0.00423 100
## 34 30 in HLA laplace 0.800 fancy PRS-max 0.810 0.00332 100
## 35 30 in HLA laplace 0.800 fancy PRS-stringent 0.788 0.00314 100
## 36 30 in HLA laplace 0.800 simple logit-simple 0.928 0.00112 100
## 37 30 in HLA laplace 0.800 simple logit-triple 0.926 0.00115 100
## 38 30 in HLA laplace 0.800 simple PRS-all 0.695 0.00467 100
## 39 30 in HLA laplace 0.800 simple PRS-max 0.843 0.00313 100
## 40 30 in HLA laplace 0.800 simple PRS-stringent 0.823 0.00294 100
## 41 30 in all gaussian 0.500 fancy logit-simple 0.774 0.00250 100
## 42 30 in all gaussian 0.500 fancy logit-triple 0.808 0.00168 100
## 43 30 in all gaussian 0.500 fancy PRS-all 0.539 0.00214 100
## 44 30 in all gaussian 0.500 fancy PRS-max 0.762 0.00235 100
## 45 30 in all gaussian 0.500 fancy PRS-stringent 0.753 0.00240 100
## 46 30 in all gaussian 0.500 simple logit-simple 0.821 0.00134 100
## 47 30 in all gaussian 0.500 simple logit-triple 0.819 0.00129 100
## 48 30 in all gaussian 0.500 simple PRS-all 0.548 0.00215 100
## 49 30 in all gaussian 0.500 simple PRS-max 0.806 0.00156 100
## 50 30 in all gaussian 0.500 simple PRS-stringent 0.799 0.00165 100
## 51 30 in all gaussian 0.800 fancy logit-simple 0.879 0.00214 100
## 52 30 in all gaussian 0.800 fancy logit-triple 0.915 0.00118 100
## 53 30 in all gaussian 0.800 fancy PRS-all 0.566 0.00187 100
## 54 30 in all gaussian 0.800 fancy PRS-max 0.854 0.00226 100
## 55 30 in all gaussian 0.800 fancy PRS-stringent 0.844 0.00242 100
## 56 30 in all gaussian 0.800 simple logit-simple 0.928 0.000812 100
## 57 30 in all gaussian 0.800 simple logit-triple 0.927 0.000866 100
## 58 30 in all gaussian 0.800 simple PRS-all 0.585 0.00184 100
## 59 30 in all gaussian 0.800 simple PRS-max 0.898 0.00185 100
## 60 30 in all gaussian 0.800 simple PRS-stringent 0.882 0.00251 100
## 61 30 in all laplace 0.500 fancy logit-simple 0.781 0.00244 100
## 62 30 in all laplace 0.500 fancy logit-triple 0.807 0.00187 100
## 63 30 in all laplace 0.500 fancy PRS-all 0.540 0.00191 100
## 64 30 in all laplace 0.500 fancy PRS-max 0.768 0.00243 100
## 65 30 in all laplace 0.500 fancy PRS-stringent 0.758 0.00246 100
## 66 30 in all laplace 0.500 simple logit-simple 0.825 0.00144 100
## 67 30 in all laplace 0.500 simple logit-triple 0.824 0.00146 100
## 68 30 in all laplace 0.500 simple PRS-all 0.553 0.00192 100
## 69 30 in all laplace 0.500 simple PRS-max 0.806 0.00173 100
## 70 30 in all laplace 0.500 simple PRS-stringent 0.797 0.00187 100
## 71 30 in all laplace 0.800 fancy logit-simple 0.881 0.00245 100
## 72 30 in all laplace 0.800 fancy logit-triple 0.915 0.00153 100
## 73 30 in all laplace 0.800 fancy PRS-all 0.571 0.00205 100
## 74 30 in all laplace 0.800 fancy PRS-max 0.853 0.00247 100
## 75 30 in all laplace 0.800 fancy PRS-stringent 0.841 0.00253 100
## 76 30 in all laplace 0.800 simple logit-simple 0.929 0.000896 100
## 77 30 in all laplace 0.800 simple logit-triple 0.927 0.000895 100
## 78 30 in all laplace 0.800 simple PRS-all 0.582 0.00186 100
## 79 30 in all laplace 0.800 simple PRS-max 0.896 0.00156 100
## 80 30 in all laplace 0.800 simple PRS-stringent 0.884 0.00205 100
## 81 300 in all gaussian 0.500 fancy logit-simple 0.670 0.00231 100
## 82 300 in all gaussian 0.500 fancy logit-triple 0.692 0.00209 100
## 83 300 in all gaussian 0.500 fancy PRS-all 0.541 0.00196 100
## 84 300 in all gaussian 0.500 fancy PRS-max 0.664 0.00222 100
## 85 300 in all gaussian 0.500 fancy PRS-stringent 0.617 0.00291 100
## 86 300 in all gaussian 0.500 simple logit-simple 0.715 0.00193 100
## 87 300 in all gaussian 0.500 simple logit-triple 0.702 0.00205 100
## 88 300 in all gaussian 0.500 simple PRS-all 0.551 0.00179 100
## 89 300 in all gaussian 0.500 simple PRS-max 0.703 0.00204 100
## 90 300 in all gaussian 0.500 simple PRS-stringent 0.640 0.00284 100
## 91 300 in all gaussian 0.800 fancy logit-simple 0.780 0.00188 100
## 92 300 in all gaussian 0.800 fancy logit-triple 0.820 0.00151 100
## 93 300 in all gaussian 0.800 fancy PRS-all 0.565 0.00204 100
## 94 300 in all gaussian 0.800 fancy PRS-max 0.756 0.00189 100
## 95 300 in all gaussian 0.800 fancy PRS-stringent 0.712 0.00222 100
## 96 300 in all gaussian 0.800 simple logit-simple 0.845 0.00143 100
## 97 300 in all gaussian 0.800 simple logit-triple 0.830 0.00146 100
## 98 300 in all gaussian 0.800 simple PRS-all 0.579 0.00189 100
## 99 300 in all gaussian 0.800 simple PRS-max 0.806 0.00182 100
## 100 300 in all gaussian 0.800 simple PRS-stringent 0.751 0.00211 100
## 101 300 in all laplace 0.500 fancy logit-simple 0.708 0.00238 100
## 102 300 in all laplace 0.500 fancy logit-triple 0.734 0.00190 100
## 103 300 in all laplace 0.500 fancy PRS-all 0.540 0.00199 100
## 104 300 in all laplace 0.500 fancy PRS-max 0.699 0.00237 100
## 105 300 in all laplace 0.500 fancy PRS-stringent 0.672 0.00264 100
## 106 300 in all laplace 0.500 simple logit-simple 0.744 0.00186 100
## 107 300 in all laplace 0.500 simple logit-triple 0.735 0.00200 100
## 108 300 in all laplace 0.500 simple PRS-all 0.552 0.00221 100
## 109 300 in all laplace 0.500 simple PRS-max 0.729 0.00202 100
## 110 300 in all laplace 0.500 simple PRS-stringent 0.698 0.00250 100
## 111 300 in all laplace 0.800 fancy logit-simple 0.805 0.00216 100
## 112 300 in all laplace 0.800 fancy logit-triple 0.846 0.00145 100
## 113 300 in all laplace 0.800 fancy PRS-all 0.566 0.00176 100
## 114 300 in all laplace 0.800 fancy PRS-max 0.779 0.00215 100
## 115 300 in all laplace 0.800 fancy PRS-stringent 0.755 0.00261 100
## 116 300 in all laplace 0.800 simple logit-simple 0.866 0.00125 100
## 117 300 in all laplace 0.800 simple logit-triple 0.858 0.00134 100
## 118 300 in all laplace 0.800 simple PRS-all 0.584 0.00189 100
## 119 300 in all laplace 0.800 simple PRS-max 0.826 0.00185 100
## 120 300 in all laplace 0.800 simple PRS-stringent 0.801 0.00208 100
## 121 3000 in all gaussian 0.500 fancy logit-simple 0.526 0.00187 100
## 122 3000 in all gaussian 0.500 fancy logit-triple 0.524 0.00202 100
## 123 3000 in all gaussian 0.500 fancy PRS-all 0.538 0.00193 100
## 124 3000 in all gaussian 0.500 fancy PRS-max 0.556 0.00158 100
## 125 3000 in all gaussian 0.500 fancy PRS-stringent 0.501 0.000510 100
## 126 3000 in all gaussian 0.500 simple logit-simple 0.531 0.00211 100
## 127 3000 in all gaussian 0.500 simple logit-triple 0.524 0.00202 100
## 128 3000 in all gaussian 0.500 simple PRS-all 0.548 0.00198 100
## 129 3000 in all gaussian 0.500 simple PRS-max 0.565 0.00162 100
## 130 3000 in all gaussian 0.500 simple PRS-stringent 0.500 0.000275 100
## 131 3000 in all gaussian 0.800 fancy logit-simple 0.563 0.00197 100
## 132 3000 in all gaussian 0.800 fancy logit-triple 0.561 0.00197 100
## 133 3000 in all gaussian 0.800 fancy PRS-all 0.561 0.00195 100
## 134 3000 in all gaussian 0.800 fancy PRS-max 0.583 0.00162 100
## 135 3000 in all gaussian 0.800 fancy PRS-stringent 0.507 0.00144 100
## 136 3000 in all gaussian 0.800 simple logit-simple 0.584 0.00188 100
## 137 3000 in all gaussian 0.800 simple logit-triple 0.567 0.00205 100
## 138 3000 in all gaussian 0.800 simple PRS-all 0.584 0.00184 100
## 139 3000 in all gaussian 0.800 simple PRS-max 0.602 0.00137 100
## 140 3000 in all gaussian 0.800 simple PRS-stringent 0.507 0.00165 100
## 141 3000 in all laplace 0.500 fancy logit-simple 0.554 0.00205 100
## 142 3000 in all laplace 0.500 fancy logit-triple 0.553 0.00226 100
## 143 3000 in all laplace 0.500 fancy PRS-all 0.542 0.00177 100
## 144 3000 in all laplace 0.500 fancy PRS-max 0.566 0.00147 100
## 145 3000 in all laplace 0.500 fancy PRS-stringent 0.510 0.00212 100
## 146 3000 in all laplace 0.500 simple logit-simple 0.565 0.00181 100
## 147 3000 in all laplace 0.500 simple logit-triple 0.554 0.00183 100
## 148 3000 in all laplace 0.500 simple PRS-all 0.551 0.00187 100
## 149 3000 in all laplace 0.500 simple PRS-max 0.577 0.00145 100
## 150 3000 in all laplace 0.500 simple PRS-stringent 0.514 0.00214 100
## 151 3000 in all laplace 0.800 fancy logit-simple 0.616 0.00208 100
## 152 3000 in all laplace 0.800 fancy logit-triple 0.623 0.00198 100
## 153 3000 in all laplace 0.800 fancy PRS-all 0.564 0.00192 100
## 154 3000 in all laplace 0.800 fancy PRS-max 0.609 0.00187 100
## 155 3000 in all laplace 0.800 fancy PRS-stringent 0.543 0.00284 100
## 156 3000 in all laplace 0.800 simple logit-simple 0.652 0.00196 100
## 157 3000 in all laplace 0.800 simple logit-triple 0.633 0.00218 100
## 158 3000 in all laplace 0.800 simple PRS-all 0.581 0.00181 100
## 159 3000 in all laplace 0.800 simple PRS-max 0.630 0.00171 100
## 160 3000 in all laplace 0.800 simple PRS-stringent 0.560 0.00296 100
compare_logit(results2, with_method = "logit-triple")
## # A tibble: 32 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fct> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.800 fancy logit-simple 0.873 0.00241 100
## 2 30 in HLA gaussian 0.800 fancy logit-triple 0.911 0.00130 100
## 3 30 in HLA gaussian 0.800 simple logit-simple 0.923 0.00101 100
## 4 30 in HLA gaussian 0.800 simple logit-triple 0.922 0.00103 100
## 5 30 in HLA laplace 0.800 fancy logit-simple 0.876 0.00275 100
## 6 30 in HLA laplace 0.800 fancy logit-triple 0.912 0.00170 100
## 7 30 in HLA laplace 0.800 simple logit-simple 0.928 0.00112 100
## 8 30 in HLA laplace 0.800 simple logit-triple 0.926 0.00116 100
## 9 30 in all gaussian 0.800 fancy logit-simple 0.879 0.00214 100
## 10 30 in all gaussian 0.800 fancy logit-triple 0.915 0.00118 100
## 11 30 in all gaussian 0.800 simple logit-simple 0.928 0.000813 100
## 12 30 in all gaussian 0.800 simple logit-triple 0.927 0.000867 100
## 13 30 in all laplace 0.800 fancy logit-simple 0.881 0.00244 100
## 14 30 in all laplace 0.800 fancy logit-triple 0.915 0.00152 100
## 15 30 in all laplace 0.800 simple logit-simple 0.929 0.000896 100
## 16 30 in all laplace 0.800 simple logit-triple 0.927 0.000894 100
## 17 300 in all gaussian 0.800 fancy logit-simple 0.780 0.00188 100
## 18 300 in all gaussian 0.800 fancy logit-triple 0.820 0.00151 100
## 19 300 in all gaussian 0.800 simple logit-simple 0.845 0.00143 100
## 20 300 in all gaussian 0.800 simple logit-triple 0.830 0.00146 100
## 21 300 in all laplace 0.800 fancy logit-simple 0.805 0.00217 100
## 22 300 in all laplace 0.800 fancy logit-triple 0.846 0.00146 100
## 23 300 in all laplace 0.800 simple logit-simple 0.866 0.00126 100
## 24 300 in all laplace 0.800 simple logit-triple 0.858 0.00134 100
## 25 3000 in all gaussian 0.800 fancy logit-simple 0.563 0.00196 100
## 26 3000 in all gaussian 0.800 fancy logit-triple 0.561 0.00197 100
## 27 3000 in all gaussian 0.800 simple logit-simple 0.584 0.00188 100
## 28 3000 in all gaussian 0.800 simple logit-triple 0.567 0.00205 100
## 29 3000 in all laplace 0.800 fancy logit-simple 0.616 0.00207 100
## 30 3000 in all laplace 0.800 fancy logit-triple 0.623 0.00197 100
## 31 3000 in all laplace 0.800 simple logit-simple 0.652 0.00195 100
## 32 3000 in all laplace 0.800 simple logit-triple 0.633 0.00218 100
ggsave("figures/supp-triple.pdf", scale = 1/100, width = 1400, height = 1060)
results2.summary %>%
filter(grepl("logit", method)) %>%
barplot_causal_one(h2 = 0.5) +
facet_grid(par.model ~ par.dist)
ggsave("figures/supp-AUC-triple.pdf", scale = 1/110, width = 1242, height = 951)
results2.summary %>%
filter(par.model == "fancy", method %in% c("logit-simple", "PRS-max")) %>%
barplot_causal_all()
ggsave("figures/supp-AUC-logit-fancy.pdf", scale = 1/110, width = 1242, height = 951)
results2.summary %>%
filter(par.model == "fancy", grepl("PRS", method)) %>%
barplot_causal_all()
ggsave("figures/supp-AUC-PRS-fancy.pdf", scale = 1/110, width = 1242, height = 951)
results3 <- results2 %>%
filter(par.model == "simple", method != "logit-triple")
results3 %>%
filter(method %in% c("logit-simple", "PRS-max")) %>%
mutate(Parameters = interaction(par.h2, par.dist, method, sep = " | ")) %>%
myggplot(aes(AUC, pAUC, color = Parameters)) +
geom_point(size = 0.6, alpha = 0.5) +
geom_smooth(aes(linetype = Parameters), method = "loess", se = FALSE, size = 2) +
theme(legend.key.width = unit(3.5, "line"),
legend.direction = "horizontal") +
labs(y = "Partial AUC (specificity: [0.9, 1])") +
theme(legend.position = "top", axis.title = element_text(size = rel(2.2))) +
ggsave("figures/supp-AUC-corr.pdf", scale = 1/100, width = 1525, height = 983)
cor(results3$AUC, results3$pAUC, method = "spearman")
## [1] 0.9799784
results3.summary <- results3 %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 64 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fct> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.500 simple logit-simple 0.818 0.00157 100
## 2 30 in HLA gaussian 0.500 simple PRS-all 0.618 0.00369 100
## 3 30 in HLA gaussian 0.500 simple PRS-max 0.760 0.00204 100
## 4 30 in HLA gaussian 0.500 simple PRS-stringent 0.747 0.00219 100
## 5 30 in HLA gaussian 0.800 simple logit-simple 0.923 0.00101 100
## 6 30 in HLA gaussian 0.800 simple PRS-all 0.686 0.00398 100
## 7 30 in HLA gaussian 0.800 simple PRS-max 0.836 0.00218 100
## 8 30 in HLA gaussian 0.800 simple PRS-stringent 0.819 0.00227 100
## 9 30 in HLA laplace 0.500 simple logit-simple 0.824 0.00151 100
## 10 30 in HLA laplace 0.500 simple PRS-all 0.625 0.00353 100
## 11 30 in HLA laplace 0.500 simple PRS-max 0.769 0.00213 100
## 12 30 in HLA laplace 0.500 simple PRS-stringent 0.751 0.00205 100
## 13 30 in HLA laplace 0.800 simple logit-simple 0.928 0.00112 100
## 14 30 in HLA laplace 0.800 simple PRS-all 0.695 0.00468 100
## 15 30 in HLA laplace 0.800 simple PRS-max 0.843 0.00313 100
## 16 30 in HLA laplace 0.800 simple PRS-stringent 0.823 0.00294 100
## 17 30 in all gaussian 0.500 simple logit-simple 0.821 0.00134 100
## 18 30 in all gaussian 0.500 simple PRS-all 0.548 0.00214 100
## 19 30 in all gaussian 0.500 simple PRS-max 0.806 0.00156 100
## 20 30 in all gaussian 0.500 simple PRS-stringent 0.799 0.00164 100
## 21 30 in all gaussian 0.800 simple logit-simple 0.928 0.000811 100
## 22 30 in all gaussian 0.800 simple PRS-all 0.585 0.00183 100
## 23 30 in all gaussian 0.800 simple PRS-max 0.898 0.00184 100
## 24 30 in all gaussian 0.800 simple PRS-stringent 0.882 0.00250 100
## 25 30 in all laplace 0.500 simple logit-simple 0.825 0.00144 100
## 26 30 in all laplace 0.500 simple PRS-all 0.553 0.00191 100
## 27 30 in all laplace 0.500 simple PRS-max 0.806 0.00174 100
## 28 30 in all laplace 0.500 simple PRS-stringent 0.797 0.00187 100
## 29 30 in all laplace 0.800 simple logit-simple 0.929 0.000890 100
## 30 30 in all laplace 0.800 simple PRS-all 0.582 0.00186 100
## 31 30 in all laplace 0.800 simple PRS-max 0.896 0.00156 100
## 32 30 in all laplace 0.800 simple PRS-stringent 0.884 0.00205 100
## 33 300 in all gaussian 0.500 simple logit-simple 0.715 0.00193 100
## 34 300 in all gaussian 0.500 simple PRS-all 0.551 0.00179 100
## 35 300 in all gaussian 0.500 simple PRS-max 0.703 0.00205 100
## 36 300 in all gaussian 0.500 simple PRS-stringent 0.640 0.00284 100
## 37 300 in all gaussian 0.800 simple logit-simple 0.845 0.00142 100
## 38 300 in all gaussian 0.800 simple PRS-all 0.579 0.00189 100
## 39 300 in all gaussian 0.800 simple PRS-max 0.806 0.00183 100
## 40 300 in all gaussian 0.800 simple PRS-stringent 0.751 0.00210 100
## 41 300 in all laplace 0.500 simple logit-simple 0.744 0.00186 100
## 42 300 in all laplace 0.500 simple PRS-all 0.552 0.00220 100
## 43 300 in all laplace 0.500 simple PRS-max 0.729 0.00202 100
## 44 300 in all laplace 0.500 simple PRS-stringent 0.698 0.00251 100
## 45 300 in all laplace 0.800 simple logit-simple 0.866 0.00126 100
## 46 300 in all laplace 0.800 simple PRS-all 0.584 0.00189 100
## 47 300 in all laplace 0.800 simple PRS-max 0.826 0.00185 100
## 48 300 in all laplace 0.800 simple PRS-stringent 0.801 0.00209 100
## 49 3000 in all gaussian 0.500 simple logit-simple 0.531 0.00211 100
## 50 3000 in all gaussian 0.500 simple PRS-all 0.548 0.00198 100
## 51 3000 in all gaussian 0.500 simple PRS-max 0.565 0.00162 100
## 52 3000 in all gaussian 0.500 simple PRS-stringent 0.500 0.000277 100
## 53 3000 in all gaussian 0.800 simple logit-simple 0.584 0.00188 100
## 54 3000 in all gaussian 0.800 simple PRS-all 0.584 0.00183 100
## 55 3000 in all gaussian 0.800 simple PRS-max 0.602 0.00137 100
## 56 3000 in all gaussian 0.800 simple PRS-stringent 0.507 0.00165 100
## 57 3000 in all laplace 0.500 simple logit-simple 0.565 0.00181 100
## 58 3000 in all laplace 0.500 simple PRS-all 0.551 0.00186 100
## 59 3000 in all laplace 0.500 simple PRS-max 0.577 0.00145 100
## 60 3000 in all laplace 0.500 simple PRS-stringent 0.514 0.00214 100
## 61 3000 in all laplace 0.800 simple logit-simple 0.652 0.00195 100
## 62 3000 in all laplace 0.800 simple PRS-all 0.581 0.00182 100
## 63 3000 in all laplace 0.800 simple PRS-max 0.630 0.00171 100
## 64 3000 in all laplace 0.800 simple PRS-stringent 0.560 0.00294 100
results3.summary %>%
filter(method %in% c("logit-simple", "PRS-max"), par.model == "simple") %>%
barplot_causal_one(h2 = 0.8)
ggsave("figures/main-AUC-logit.pdf", scale = 1/90, width = 844, height = 872)
results3.summary %>%
filter(grepl("PRS", method)) %>%
barplot_causal_one(h2 = 0.8)
ggsave("figures/main-AUC-PRS.pdf", scale = 1/90, width = 844, height = 872)
results3.summary %>%
filter(method %in% c("logit-simple", "PRS-max")) %>%
barplot_causal_one(h2 = 0.5)
ggsave("figures/supp-AUC-logit.pdf", scale = 1/90, width = 844, height = 872)
results3.summary %>%
filter(grepl("PRS", method)) %>%
barplot_causal_one(h2 = 0.5)
ggsave("figures/supp-AUC-PRS.pdf", scale = 1/90, width = 844, height = 872)
results4 <- list.files("results4", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
results4 %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 64 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fct> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.500 simple logit-simple 0.824 0.00151 100
## 2 30 in HLA gaussian 0.500 simple PRS-all 0.719 0.00257 100
## 3 30 in HLA gaussian 0.500 simple PRS-max 0.761 0.00229 100
## 4 30 in HLA gaussian 0.500 simple PRS-stringent 0.744 0.00243 100
## 5 30 in HLA gaussian 0.800 simple logit-simple 0.929 0.000940 100
## 6 30 in HLA gaussian 0.800 simple PRS-all 0.797 0.00251 100
## 7 30 in HLA gaussian 0.800 simple PRS-max 0.835 0.00221 100
## 8 30 in HLA gaussian 0.800 simple PRS-stringent 0.819 0.00221 100
## 9 30 in HLA laplace 0.500 simple logit-simple 0.826 0.00147 100
## 10 30 in HLA laplace 0.500 simple PRS-all 0.723 0.00267 100
## 11 30 in HLA laplace 0.500 simple PRS-max 0.768 0.00227 100
## 12 30 in HLA laplace 0.500 simple PRS-stringent 0.750 0.00220 100
## 13 30 in HLA laplace 0.800 simple logit-simple 0.927 0.00132 100
## 14 30 in HLA laplace 0.800 simple PRS-all 0.798 0.00294 100
## 15 30 in HLA laplace 0.800 simple PRS-max 0.841 0.00281 100
## 16 30 in HLA laplace 0.800 simple PRS-stringent 0.821 0.00278 100
## 17 30 in all gaussian 0.500 simple logit-simple 0.830 0.00141 100
## 18 30 in all gaussian 0.500 simple PRS-all 0.671 0.00200 100
## 19 30 in all gaussian 0.500 simple PRS-max 0.805 0.00203 100
## 20 30 in all gaussian 0.500 simple PRS-stringent 0.793 0.00241 100
## 21 30 in all gaussian 0.800 simple logit-simple 0.930 0.000907 100
## 22 30 in all gaussian 0.800 simple PRS-all 0.745 0.00210 100
## 23 30 in all gaussian 0.800 simple PRS-max 0.886 0.00239 100
## 24 30 in all gaussian 0.800 simple PRS-stringent 0.864 0.00382 100
## 25 30 in all laplace 0.500 simple logit-simple 0.829 0.00144 100
## 26 30 in all laplace 0.500 simple PRS-all 0.674 0.00220 100
## 27 30 in all laplace 0.500 simple PRS-max 0.801 0.00201 100
## 28 30 in all laplace 0.500 simple PRS-stringent 0.788 0.00220 100
## 29 30 in all laplace 0.800 simple logit-simple 0.932 0.00104 100
## 30 30 in all laplace 0.800 simple PRS-all 0.751 0.00236 100
## 31 30 in all laplace 0.800 simple PRS-max 0.883 0.00273 100
## 32 30 in all laplace 0.800 simple PRS-stringent 0.868 0.00336 100
## 33 300 in all gaussian 0.500 simple logit-simple 0.764 0.00149 100
## 34 300 in all gaussian 0.500 simple PRS-all 0.665 0.00185 100
## 35 300 in all gaussian 0.500 simple PRS-max 0.708 0.00262 100
## 36 300 in all gaussian 0.500 simple PRS-stringent 0.607 0.00273 100
## 37 300 in all gaussian 0.800 simple logit-simple 0.885 0.00109 100
## 38 300 in all gaussian 0.800 simple PRS-all 0.738 0.00170 100
## 39 300 in all gaussian 0.800 simple PRS-max 0.787 0.00322 100
## 40 300 in all gaussian 0.800 simple PRS-stringent 0.691 0.00256 100
## 41 300 in all laplace 0.500 simple logit-simple 0.779 0.00170 100
## 42 300 in all laplace 0.500 simple PRS-all 0.669 0.00173 100
## 43 300 in all laplace 0.500 simple PRS-max 0.729 0.00251 100
## 44 300 in all laplace 0.500 simple PRS-stringent 0.675 0.00286 100
## 45 300 in all laplace 0.800 simple logit-simple 0.895 0.00104 100
## 46 300 in all laplace 0.800 simple PRS-all 0.741 0.00174 100
## 47 300 in all laplace 0.800 simple PRS-max 0.815 0.00304 100
## 48 300 in all laplace 0.800 simple PRS-stringent 0.768 0.00294 100
## 49 3000 in all gaussian 0.500 simple logit-simple 0.666 0.00176 100
## 50 3000 in all gaussian 0.500 simple PRS-all 0.664 0.00195 100
## 51 3000 in all gaussian 0.500 simple PRS-max 0.668 0.00191 100
## 52 3000 in all gaussian 0.500 simple PRS-stringent 0.509 0.00221 100
## 53 3000 in all gaussian 0.800 simple logit-simple 0.770 0.00159 100
## 54 3000 in all gaussian 0.800 simple PRS-all 0.734 0.00154 100
## 55 3000 in all gaussian 0.800 simple PRS-max 0.737 0.00155 100
## 56 3000 in all gaussian 0.800 simple PRS-stringent 0.530 0.00359 100
## 57 3000 in all laplace 0.500 simple logit-simple 0.685 0.00151 100
## 58 3000 in all laplace 0.500 simple PRS-all 0.664 0.00173 100
## 59 3000 in all laplace 0.500 simple PRS-max 0.670 0.00175 100
## 60 3000 in all laplace 0.500 simple PRS-stringent 0.518 0.00275 100
## 61 3000 in all laplace 0.800 simple logit-simple 0.793 0.00159 100
## 62 3000 in all laplace 0.800 simple PRS-all 0.735 0.00175 100
## 63 3000 in all laplace 0.800 simple PRS-max 0.739 0.00179 100
## 64 3000 in all laplace 0.800 simple PRS-stringent 0.537 0.00350 100
results34 <- rbind(
cbind(simu = "all", results3),
cbind(simu = "chr6", results4)
) %>%
as_tibble()
results34 %>%
myggplot() +
geom_hline(yintercept = 0.5, linetype = 2) +
geom_hline(aes(yintercept = auc_max), linetype = 3, color = "blue",
data = data.frame(par.h2 = c(0.5, 0.8), auc_max = c(0.84, 0.94))) +
geom_boxplot(aes(method, AUC, fill = simu, color = simu), alpha = 0.3) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
facet_grid(par.model ~ par.causal) +
facet_grid(par.h2 + par.dist ~ par.causal) +
scale_fill_brewer(type = "qual", palette = 2) +
scale_color_brewer(type = "qual", palette = 2) +
labs(x = "Method")
ggsave("figures/supp-AUC-chr6.pdf", scale = 1/110, width = 1153, height = 908)
results5 <- list.files("results5", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
results5.summary <- results5 %>%
group_by_at(c(vars(starts_with("par")), "method", "n.train")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 80 x 9
## # Groups: par.causal, par.dist, par.h2, par.model, method [?]
## par.causal par.dist par.h2 par.model method n.train AUC_mean AUC_boot N
## <fct> <chr> <dbl> <chr> <chr> <dbl> <dbl> <dbl> <int>
## 1 300 in all gaussian 0.500 simple logit-simple 1000. 0.523 0.00167 100
## 2 300 in all gaussian 0.500 simple logit-simple 2000. 0.579 0.00185 100
## 3 300 in all gaussian 0.500 simple logit-simple 3000. 0.628 0.00200 100
## 4 300 in all gaussian 0.500 simple logit-simple 4000. 0.666 0.00158 100
## 5 300 in all gaussian 0.500 simple logit-simple 5000. 0.694 0.00150 100
## 6 300 in all gaussian 0.500 simple PRS-all 1000. 0.521 0.000873 100
## 7 300 in all gaussian 0.500 simple PRS-all 2000. 0.529 0.000843 100
## 8 300 in all gaussian 0.500 simple PRS-all 3000. 0.535 0.00113 100
## 9 300 in all gaussian 0.500 simple PRS-all 4000. 0.542 0.00108 100
## 10 300 in all gaussian 0.500 simple PRS-all 5000. 0.549 0.00140 100
## 11 300 in all gaussian 0.500 simple PRS-max 1000. 0.538 0.00134 100
## 12 300 in all gaussian 0.500 simple PRS-max 2000. 0.576 0.00167 100
## 13 300 in all gaussian 0.500 simple PRS-max 3000. 0.617 0.00206 100
## 14 300 in all gaussian 0.500 simple PRS-max 4000. 0.652 0.00169 100
## 15 300 in all gaussian 0.500 simple PRS-max 5000. 0.679 0.00156 100
## 16 300 in all gaussian 0.500 simple PRS-stringent 1000. 0.501 0.000924 100
## 17 300 in all gaussian 0.500 simple PRS-stringent 2000. 0.518 0.00253 100
## 18 300 in all gaussian 0.500 simple PRS-stringent 3000. 0.553 0.00332 100
## 19 300 in all gaussian 0.500 simple PRS-stringent 4000. 0.596 0.00272 100
## 20 300 in all gaussian 0.500 simple PRS-stringent 5000. 0.616 0.00245 100
## 21 300 in all gaussian 0.800 simple logit-simple 1000. 0.570 0.00242 100
## 22 300 in all gaussian 0.800 simple logit-simple 2000. 0.678 0.00180 100
## 23 300 in all gaussian 0.800 simple logit-simple 3000. 0.748 0.00147 100
## 24 300 in all gaussian 0.800 simple logit-simple 4000. 0.796 0.00122 100
## 25 300 in all gaussian 0.800 simple logit-simple 5000. 0.822 0.00121 100
## 26 300 in all gaussian 0.800 simple PRS-all 1000. 0.533 0.000928 100
## 27 300 in all gaussian 0.800 simple PRS-all 2000. 0.546 0.000962 100
## 28 300 in all gaussian 0.800 simple PRS-all 3000. 0.557 0.000877 100
## 29 300 in all gaussian 0.800 simple PRS-all 4000. 0.565 0.00111 100
## 30 300 in all gaussian 0.800 simple PRS-all 5000. 0.576 0.00141 100
## 31 300 in all gaussian 0.800 simple PRS-max 1000. 0.571 0.00197 100
## 32 300 in all gaussian 0.800 simple PRS-max 2000. 0.656 0.00215 100
## 33 300 in all gaussian 0.800 simple PRS-max 3000. 0.715 0.00187 100
## 34 300 in all gaussian 0.800 simple PRS-max 4000. 0.758 0.00152 100
## 35 300 in all gaussian 0.800 simple PRS-max 5000. 0.782 0.00155 100
## 36 300 in all gaussian 0.800 simple PRS-stringent 1000. 0.509 0.00220 100
## 37 300 in all gaussian 0.800 simple PRS-stringent 2000. 0.570 0.00369 100
## 38 300 in all gaussian 0.800 simple PRS-stringent 3000. 0.639 0.00301 100
## 39 300 in all gaussian 0.800 simple PRS-stringent 4000. 0.687 0.00210 100
## 40 300 in all gaussian 0.800 simple PRS-stringent 5000. 0.721 0.00221 100
## 41 300 in all laplace 0.500 simple logit-simple 1000. 0.563 0.00330 100
## 42 300 in all laplace 0.500 simple logit-simple 2000. 0.636 0.00267 100
## 43 300 in all laplace 0.500 simple logit-simple 3000. 0.685 0.00186 100
## 44 300 in all laplace 0.500 simple logit-simple 4000. 0.711 0.00147 100
## 45 300 in all laplace 0.500 simple logit-simple 5000. 0.734 0.00138 100
## 46 300 in all laplace 0.500 simple PRS-all 1000. 0.521 0.000823 100
## 47 300 in all laplace 0.500 simple PRS-all 2000. 0.529 0.000928 100
## 48 300 in all laplace 0.500 simple PRS-all 3000. 0.536 0.000919 100
## 49 300 in all laplace 0.500 simple PRS-all 4000. 0.541 0.00129 100
## 50 300 in all laplace 0.500 simple PRS-all 5000. 0.546 0.00134 100
## 51 300 in all laplace 0.500 simple PRS-max 1000. 0.572 0.00312 100
## 52 300 in all laplace 0.500 simple PRS-max 2000. 0.631 0.00262 100
## 53 300 in all laplace 0.500 simple PRS-max 3000. 0.675 0.00205 100
## 54 300 in all laplace 0.500 simple PRS-max 4000. 0.700 0.00167 100
## 55 300 in all laplace 0.500 simple PRS-max 5000. 0.718 0.00143 100
## 56 300 in all laplace 0.500 simple PRS-stringent 1000. 0.523 0.00394 100
## 57 300 in all laplace 0.500 simple PRS-stringent 2000. 0.583 0.00477 100
## 58 300 in all laplace 0.500 simple PRS-stringent 3000. 0.636 0.00308 100
## 59 300 in all laplace 0.500 simple PRS-stringent 4000. 0.662 0.00239 100
## 60 300 in all laplace 0.500 simple PRS-stringent 5000. 0.686 0.00210 100
## 61 300 in all laplace 0.800 simple logit-simple 1000. 0.647 0.00356 100
## 62 300 in all laplace 0.800 simple logit-simple 2000. 0.750 0.00193 100
## 63 300 in all laplace 0.800 simple logit-simple 3000. 0.799 0.00126 100
## 64 300 in all laplace 0.800 simple logit-simple 4000. 0.831 0.00117 100
## 65 300 in all laplace 0.800 simple logit-simple 5000. 0.852 0.000927 100
## 66 300 in all laplace 0.800 simple PRS-all 1000. 0.532 0.000762 100
## 67 300 in all laplace 0.800 simple PRS-all 2000. 0.548 0.000859 100
## 68 300 in all laplace 0.800 simple PRS-all 3000. 0.559 0.000954 100
## 69 300 in all laplace 0.800 simple PRS-all 4000. 0.565 0.00119 100
## 70 300 in all laplace 0.800 simple PRS-all 5000. 0.576 0.00137 100
## 71 300 in all laplace 0.800 simple PRS-max 1000. 0.644 0.00376 100
## 72 300 in all laplace 0.800 simple PRS-max 2000. 0.727 0.00238 100
## 73 300 in all laplace 0.800 simple PRS-max 3000. 0.768 0.00182 100
## 74 300 in all laplace 0.800 simple PRS-max 4000. 0.797 0.00141 100
## 75 300 in all laplace 0.800 simple PRS-max 5000. 0.813 0.00149 100
## 76 300 in all laplace 0.800 simple PRS-stringent 1000. 0.572 0.00580 100
## 77 300 in all laplace 0.800 simple PRS-stringent 2000. 0.677 0.00408 100
## 78 300 in all laplace 0.800 simple PRS-stringent 3000. 0.727 0.00250 100
## 79 300 in all laplace 0.800 simple PRS-stringent 4000. 0.758 0.00256 100
## 80 300 in all laplace 0.800 simple PRS-stringent 5000. 0.782 0.00181 100
results35.summary <- results3.summary %>%
filter(par.causal == "300 in all") %>%
cbind.data.frame(n.train = 6000) %>%
bind_rows(results5.summary)
myggplot(results35.summary, aes(n.train, AUC_mean, color = method, linetype = method)) +
geom_hline(yintercept = 0.5, linetype = 2) +
geom_hline(aes(yintercept = auc_max), linetype = 3, color = "blue",
data = data.frame(par.h2 = c(0.5, 0.8), auc_max = c(0.84, 0.94))) +
geom_line(size = 1.5) +
geom_errorbar(aes(ymin = AUC_mean - 2 * AUC_boot,
ymax = AUC_mean + 2 * AUC_boot),
size = 1.5, width = 0) +
facet_grid(par.h2 ~ par.dist) +
scale_x_continuous(breaks = 1:6 * 1000, minor_breaks = NULL) +
scale_y_continuous(minor_breaks = 0:20 / 20) +
scale_color_manual(values = methods.color) +
labs(x = "Size of the training set", y = "Mean of 100 AUCs",
color = "Method", linetype = "Method") +
theme(legend.key.width = unit(3, "line"))
ggsave("figures/main-AUC-ntrain.pdf", scale = 1/100, width = 1050, height = 800)
results7 <- list.files("results7", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
compare_logit(results7, "biglasso")
## # A tibble: 16 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fct> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.800 simple biglasso 0.927 0.000793 100
## 2 30 in HLA gaussian 0.800 simple logit-simple 0.923 0.000869 100
## 3 30 in HLA laplace 0.800 simple biglasso 0.928 0.00113 100
## 4 30 in HLA laplace 0.800 simple logit-simple 0.925 0.00113 100
## 5 30 in all gaussian 0.800 simple biglasso 0.933 0.000811 100
## 6 30 in all gaussian 0.800 simple logit-simple 0.929 0.000862 100
## 7 30 in all laplace 0.800 simple biglasso 0.933 0.000921 100
## 8 30 in all laplace 0.800 simple logit-simple 0.930 0.000960 100
## 9 300 in all gaussian 0.800 simple biglasso 0.849 0.00136 100
## 10 300 in all gaussian 0.800 simple logit-simple 0.842 0.00139 100
## 11 300 in all laplace 0.800 simple biglasso 0.871 0.00120 100
## 12 300 in all laplace 0.800 simple logit-simple 0.865 0.00123 100
## 13 3000 in all gaussian 0.800 simple biglasso 0.589 0.00171 100
## 14 3000 in all gaussian 0.800 simple logit-simple 0.579 0.00195 100
## 15 3000 in all laplace 0.800 simple biglasso 0.642 0.00202 100
## 16 3000 in all laplace 0.800 simple logit-simple 0.643 0.00205 100
ggsave("figures/supp-biglasso.pdf", scale = 1/100, width = 1600, height = 1000)